home *** CD-ROM | disk | FTP | other *** search
/ Sun Solutions 2000 #2 / Sun Solutions CD (Volume 2 2000)(Special Focus - Java Technologies)(Disc 1).ISO / products / Software / BostonBusinessComputing / bbc / vcllp < prev    next >
Text File  |  2000-02-11  |  2KB  |  94 lines

  1. : vcllp - /bin/sh wrapper for VCL show commands calling the
  2. :    native unix print commands: lp, lpr, lpq, cancel...
  3. :
  4. : Edit History
  5. : $Log: vcllp.prod,v $
  6. : Revision 1.2  1991/06/10 13:55:45  cpl
  7. : corrected lpr argument to specify printer.
  8. :
  9. : Revision 1.1  1991/06/07  13:35:26  cpl
  10. : Initial revision
  11. :
  12. :
  13.  
  14. :  sysv_args sort of relate to system V printer commands, but not
  15. :     always.
  16. :  bsd_args works under the same assumption
  17. cmnd=$1
  18. shift
  19. case $cmnd in
  20.     PRINT)
  21.         sysv_args="lp "
  22.         bsd_args="lpr "
  23.  
  24.     if [ "$q_QUEUE" != "" ]; then
  25.        printer=`echo $q_QUEUE | sed -e 's/[:]$//'`
  26.        sysv_args=$sysv_args" -d"$printer
  27.        bsd_args=$bsd_args" -P"$printer
  28.     else
  29.        if [ "$q_DEVICE" != "" ]; then
  30.           printer=`echo $q_DEVICE | sed -e 's/[:]$//'`
  31.           sysv_args=$sysv_args" -d"$printer
  32.           bsd_args=$bsd_args" -P"$printer
  33.        fi
  34.     fi
  35.  
  36.     if [ "$q_JOB_COUNT" != "" ]; then
  37.        sysv_args=$sysv_args" -n"$q_JOB_COUNT
  38.        bsd_args=$bsd_args" -#"$q_JOB_COUNT
  39.     fi
  40.  
  41.     if [ "$q_NAME" != "" ]; then
  42.        sysv_args=$sysv_args" -t"$q_NAME
  43.        bsd_args=$bsd_args" -J"$q_NAME
  44.     fi
  45.  
  46.     if [ "$q_NOTIFY" != ""  -a "$q_NOTIFY" != "0" ]; then
  47.        sysv_args=$sysv_args" -w"
  48.        bsd_args=$bsd_args" -m"
  49.     fi
  50.  
  51.     if [ "$q_DELETE" != ""  -a "$q_DELETE" != "0" ]; then
  52.        bsd_args=$bsd_args" -r"
  53.     fi
  54.  
  55.     if [ "$q_PASSALL" != ""  -a "$q_PASSALL" != "0" ]; then
  56.        bsd_args=$bsd_args" -l"
  57.     fi
  58.         bsd_args=$bsd_args" "$*
  59.         sysv_args=$sysv_args" "$*
  60.     ;;
  61.     CANCEL)
  62.         sysv_args="cancel "
  63.         bsd_args="lprm "
  64.     if [ "$1" != "" ]; then
  65.         bsd_args=$bsd_args" -P"$1
  66.     fi
  67.     if [ "$q_ENTRY" != "" ]; then
  68.         entries=`echo $q_ENTRY | sed -e 's/,/ /g'`
  69.     fi
  70.     sysv_args=$sysv_args" "$entries" "$1
  71.     bsd_args=$bsd_args" "$entries
  72.     ;;
  73.     SHOWQUEUE)
  74.     sysv_args="lpstat "
  75.     bsd_args="lpq "
  76.     if [ "$q_FILES" != "" -a "$q_FILES" != "0" ]; then
  77.         bsd_args=$bsd_args" -l"
  78.     fi
  79.     ;;
  80.     *)
  81.     echo "%VCL-W-IVARG, invalid argument"
  82.     exit 1
  83.     ;;
  84. esac
  85.  
  86. trap "/bin/rm -f /tmp/$$.prt" 0 1 2 3 10 14 15
  87. exec 3>/tmp/$$.prt
  88. ($bsd_args 2>&3) 2>/dev/null || ($sysv_args 2>&3) 2>/dev/null ||\
  89.     if [ ! -s /tmp/$$.prt ]; then
  90.     echo "%VCL-W-NOPRINT, print operation failed"
  91.     else
  92.     cat /tmp/$$.prt 1>&2
  93.     fi
  94.